using System.Collections.Generic;
using SharpArch.Core.DomainModel;

namespace AgileBoard.Core
{
    public class Project : Entity
    {
        public Project()
        {
            Iterations = new List<Iteration>();
            DefaultStates = new List<StateTemplate>();
        }

        public virtual string Name { get; set; }

        public virtual IList<Iteration> Iterations { get; set; }
        public virtual IList<StateTemplate> DefaultStates { get; set; }

        public virtual void AddSatate(StateTemplate state)
        {
            DefaultStates.Add(state);
            state.Project = this;
        }

        public virtual void AddIteration(Iteration iteration)
        {
            Iterations.Add(iteration);
            iteration.Project = this;
        }
    }
}